package com.shujia.day02;

/*
     >>:右移，整体补码向右移动若干位，右边多出的部分丢弃，若最高位是1，左边就用1补齐；反之用0补齐
     <<:左移，整体补码向左移动若干位，左边多出的部分丢弃，右边用0补齐
     >>>:无符号右移，整体补码向右移动若干位，右边多出的部分丢弃，左边无论最高位是0还是1，都用0补齐
 */
public class WeiDemo2 {
    public static void main(String[] args) {
        System.out.println(24>>2); // 24/2^2 = 6
        System.out.println(2<<4);  // 2*2^4 = 32

        System.out.println(-24>>>2); // 1073741818
    }
}
/*
    24的补码：00000000 00000000 00000000 00011000

            00000000 00000000 00000000 00011000
      >>2:  00000000 00000000 00000000 00000110(00)
      ------------------------------------------------

    2的补码：00000000 00000000 00000000 00000010

                00000000 00000000 00000000 00000010
     <<4: (0000)00000000 00000000 00000000 00100000


    -24
    原码：10000000 00000000 00000000 00011000
    反码：11111111 11111111 11111111 11100111
    补码：11111111 11111111 11111111 11101000
    ------------------------------------------
         11111111 11111111 11111111 11101000
   >>>2: 0011111111 11111111 11111111 111010(00)



 */
